import fileTypeSuffix from './mediaVariables'
// 获取参数类型
function getType(param) {
  // es6中null的类型为object
  if (param === null) {
    return param + "";
  }
  if (typeof param === "object") {
    let val = Object.prototype.toString.call(param).split(" ")[1];
    let type = val.substr(0, val.length - 1).toLowerCase();
    return type;
  } else {
    return typeof param;
  }
}

// 文件的类型
function fileType(file) {
  // 根据文件名判断类型
  if (getType(file) == "string") {
    if(file.lastIndexOf('.')>-1){
      for (const key in fileTypeSuffix) {
        // console.log(fileTypeSuffix[key]);
        if (Object.hasOwnProperty.call(fileTypeSuffix, key)&&fileTypeSuffix[key].includes(file.substring(file.lastIndexOf('.')).toLowerCase())) {
          return key; 
          break;
        }
      }
    }else{
      // 如果文件名没有后缀，暂时不处理
      return '';
    }
    
  }
  // 如果是 el-upload 上传文件类型
  if (getType(file) == "file" || getType(file) == "object") {
    var type = (file && file.raw && file.raw.type) ||file && file.type|| "";
    
    if (type.substring(0, 5) === "image" || type.substring(6, 7) == "g") {
      return "image";
    } else if (type.substring(0, 5) === "video") {
      return "video";
    } else {
      return "";
    }
  }
  return ''
}
export default {
  getType,
  fileType,
};
